[TPM] Discard a future response packet after a timeout has occurred instead of
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 14 Jul 2006 10:48:48 +0000 (11:48 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 14 Jul 2006 10:48:48 +0000 (11:48 +0100)
removing the request right away.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
linux-2.6-xen-sparse/drivers/xen/tpmback/tpmback.c

index 3e2d5087a7790168d22c7b23812c3c0426a8b64e..f792a4cf35bd6848e1bc8aeb623998ad4927c2d8 100644 (file)
@@ -852,11 +852,11 @@ static void processing_timeout(unsigned long ptr)
         */
        if (pak == packet_find_packet(&dataex.pending_pak, pak) ||
            pak == packet_find_packet(&dataex.current_pak, pak)) {
-               list_del(&pak->next);
                if ((pak->flags & PACKET_FLAG_DISCARD_RESPONSE) == 0) {
                        tpm_send_fail_message(pak, pak->req_tag);
                }
-               packet_free(pak);
+               /* discard future responses */
+               pak->flags |= PACKET_FLAG_DISCARD_RESPONSE;
        }
 
        write_unlock_irqrestore(&dataex.pak_lock, flags);